Passed
Pull Request — master (#3)
by Tito
03:27
created

componentDirs.forEach   B

Complexity

Conditions 2
Paths 4

Size

Total Lines 49
Code Lines 37

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 37
nc 4
dl 0
loc 49
rs 8.9919
c 0
b 0
f 0
nop 1
1
const gulpUtils = require("./gulp-utils.js");
2
const utils = require("./utils.js");
3
const mainDir = "./extensions/components";
4
const prefix = "com_";
5
const mainBaseTask = "components";
6
7
const componentDirs = utils.getFilesByType(mainDir, "directory");
8
const componentTasks = gulpUtils.generateDirTasks(mainDir, mainBaseTask);
9
10
componentDirs.forEach(function (component) {
11
    "use strict";
12
    const componentDir = mainDir + "/" + component;
13
    const componentBaseTask = mainBaseTask + ":" + component;
14
    const componentExtensionName =
15
            component.substr(0, 4) === prefix
16
        ? component.substr(4)
17
        : component;
18
19
    // Release tasks
20
    gulpUtils.generateContentTasks(
21
        componentDir,
22
        [],
23
        componentExtensionName,
24
        componentBaseTask,
25
        "",
26
        mainBaseTask,
27
        prefix + component
28
    );
29
30
    const componentStandaloneFiles = [];
31
    utils.getFilesByType(componentDir, "file").forEach(function (file) {
32
        componentStandaloneFiles.push(componentDir + "/" + file);
33
    });
34
35
    // Copy tasks (inherits to admin/site directories).  Reserved directory names: "admin" for backend, and any other for the frontend
36
    const componentDirTasks = gulpUtils.generateDirTasks(componentDir, componentBaseTask);
37
    componentDirTasks.directories.forEach(function (componentSite) {
38
        const componentSiteDir = mainDir + "/" + component + "/" + componentSite.directory;
39
        const componentSiteBaseTask = mainBaseTask + ":" + component + ":" + componentSite.directory;
40
        const componentSiteWebDir = (componentSite.directory === "admin")
41
            ? "administrator/components/" + prefix + component
42
            : "components/" + prefix + component;
43
        gulpUtils.generateContentTasks(
44
            componentSiteDir,
45
            (
46
                componentSite.directory === "admin"
47
                    ? componentStandaloneFiles
48
                    : []
49
            ),
50
            componentExtensionName,
51
            componentSiteBaseTask,
52
            componentSiteWebDir,
53
            "",
54
            ""
55
        );
56
    });
57
    gulpUtils.createGulpTasks(componentBaseTask, componentDirTasks.tasks, gulpUtils.getBaseWebTasks());
58
});
59
gulpUtils.createGulpTasks(mainBaseTask, componentTasks.tasks, false);